user_dict = {
    'user1': {'password': '123456', 'money': 500},
    'user2': {'password': '123456', 'money': 0}
}

while True:
    print('=' * 20, '欢迎来到自动取款机', '=' * 20)

    username = input('请输入你的账号：')
    if username in user_dict:  # 账号存在
        password = input('请输入你的密码：')
        if password == user_dict[username]['password']:  # 密码正确
            print('-' * 20)
            print('登陆成功！')
            print('-' * 20)
            while True:
                print('''1.查询
2.取款
3.存入
4.转账
5.登出''')
                choice = input('请输入指令：')
                if choice == '1':  # 查询
                    print('-' * 20)
                    print('您的余额为：{:.2f} 元'.format(user_dict[username]['money']))
                    print('-' * 20)

                elif choice == '2':  # 取款
                    draw_money = input('请输入取出金额：')
                    while not draw_money.isdigit():
                        draw_money = input('输入错误，请重新输入要取出金额：')

                    if int(draw_money) <= user_dict[username]['money']:  # 取款金额小于余额
                        user_dict[username]['money'] -= int(draw_money)  # username 减款
                        print('-' * 30)
                        print('操作成功！此次取款：{:.2f} 元，您的余额为：{:.2f} 元'.format(int(draw_money), user_dict[username]['money']))
                        print('-' * 30)

                    else:  # 取款金额大于余额
                        print('-' * 30)
                        print('您的余额为：{:.2f} 元，不足{:.2f}元，请重新操作！'.format(user_dict[username]['money'], int(draw_money)))
                        print('-' * 30)

                elif choice == '3':  # 存入
                    save_money = input('请输入存款金额：')
                    while not save_money.isdigit():
                        save_money = input('输入错误，请重新输入要存入金额：')

                    user_dict[username]['money'] += int(save_money)  # username 加款
                    print('-' * 30)
                    print('操作成功！此次存入：{:.2f} 元，您的余额为：{:.2f} 元'.format(int(save_money), user_dict[username]['money']))
                    print('-' * 30)

                elif choice == '4':  # 转账
                    zhuan_user = input('请输入转款用户名：')

                    if zhuan_user in user_dict:  # 转账用户存在
                        zhuan_money = input('请输入转账金额：')
                        while not zhuan_money.isdigit():
                            zhuan_money = input('输入错误，请重新输入转账金额：')

                        if int(zhuan_money) <= user_dict[username]['money']:  # 转账金额小于余额
                            user_dict[username]['money'] -= int(zhuan_money)  # username 减款
                            user_dict[zhuan_user]['money'] += int(zhuan_money)  # zhuan_user 加款
                            print('-' * 30)
                            print('操作成功！成功向 {} 转账 {:.2f} 元，您的余额为：{:.2f} 元'.format(zhuan_user, int(zhuan_money), user_dict[username]['money']))
                            print('-' * 30)

                        else:  # 转账金额大于余额
                            print('-' * 30)
                            print('您的余额为：{:.2f} 元，不足{:.2f}元，请重新操作！'.format(user_dict[username]['money'], int(zhuan_money)))
                            print('-' * 30)

                    else:
                        print('-' * 25)  # 转账用户不存在
                        print('转账用户不存在，请重新操作！')
                        print('-' * 25)

                elif choice == '5':  # 登出当前账号
                    print('-' * 25)
                    print('当前帐号登出成功！')
                    print('-' * 25)
                    break

                else:  # 指令输入错误
                    print('-' * 25)
                    print('指令错误，请重新输入！')
                    print('-' * 25)

        else:  # 密码错误
            print('-' * 25)
            print('密码错误，请重新登陆！')
            print('-' * 25)

    else:  # 账号不存在
        print('-' * 25)
        print('账号不存在，请重新输入！')
        print('-' * 25)
